1. Field of the Invention
The invention relates generally to the field of data communication systems. More particularly, the invention relates to an improved system and method for managing a plurality of contacts (i.e., “buddies”) in an instant messaging environment.
2. Description of the Related Art
Instant messaging systems provide for live, text-based chat sessions between two or more users. Unlike e-mail, instant messaging requires that all parties be online at the same time. AOL's Instant Messenger (“AIM®”), Microsoft Network Messenger Service (“MSNMS®”), ICQ® and Yahoo! Messenger® are the major instant messaging services.
Instant messaging clients allows users to maintain a list of contacts, often referred to as a “buddy list” or “contact list.” A user can send instant messages to any of the people in the user's list, as long as those people are online. Sending a message opens up a small window where the user and the user's buddies can type in messages that both can see.
Most of the popular instant messaging programs provide a variety of supplemental features including, for example, Web links ( the ability to share links to Websites); image sharing (the ability to view images stored on a buddy's computer; sound sharing (the ability transmit sounds to a buddy); file sharing (the ability to transmit files to a buddy); audio communication (the ability to use the Internet instead of a phone to actually talk with buddies); and information streaming (streaming of real-time or near-real-time information such as stock quotes and news headlines).
Some of the basic principles associated with an instant messaging session will now be described with respect to FIG. 1. In order to establish an instant messaging session, client computers 102 and 104 operated by end users, must initially connect over a network (e.g., the Internet) to an instant messaging service 100. The client computers 102 and 104 typically establish a connection via a dial up line, cable modem connection or digital subscriber line (“DSL”). Alternatively, the client computers 102 or 104 may be connected to the Internet via a local area network (“LAN”) gateway.
In order to communicate with the specified instant messaging service 100, proprietary instant messaging client software must initially be installed on the client computers 102 and 104. For example, if the instant messaging service 100 is AIM, then AOL's proprietary instant messaging client software must be installed. The client software allows the client computers 102 and 104 to communicate with the AIM server using AOL's proprietary instant messaging protocol.
Similarly, other instant messaging services, such as IM service 108, will require different client software installed on client computers 106 and 110. For example, Yahoo's proprietary IM software, which includes built-in support for Yahoo's proprietary IM protocol, must be installed on any client computer that uses Yahoo's IM service. Moreover, the client IM software and associated IM protocols required by each service 100, 108 are not compatible. Client software designed for one service may not be used to connect to a different service.
Once the IM client software is installed, to establish an IM session, the client sends the IM service connection information associated with the client computer (e.g., IP address and port number). The IM service creates a temporary file that contains the connection information for the user and the contacts in the user's buddy list. It then checks to see if any of the contacts in the buddy list are currently logged in.
If the service locates any contacts logged in, it sends the connection information for those contacts back to the client. The IM service also sends the user's connection information to the contacts in the buddy list that are signed on. When the client receives the connection information for a contact in the buddy list, it changes the “status” of that person to “Online.” The user may then click on a name of any contact in the buddy list who is online, opening an IM window in which the user may enter an instant message.
Once the users have signed on to the IM service, all subsequent communication may occur directly between the two clients, as indicated by the “direct link” between clients 102 and 104, and clients 106 and 110. However, in some circumstances, IM communication must continue to occur through the instant messaging service 100. For example, if client 104 is behind a firewall, client 102 may not be permitted to establish an IM session with client 104 directly.
When the user goes “offline” the client sends a message to the IM server to terminate the session. The server then sends a message to the clients of each contact in the user's buddy list who are currently online to indicate that the user has logged off. Finally, the IM server deletes the temporary file that contained the connection information for the client(s).